package com.dks.repository;

import com.dks.models.Teacher;
import com.dks.result.ResultModel;

import java.util.List;
import java.util.Map;

public interface ITeacherRepository {

    Integer insert(Teacher teacher);

    Integer update(Teacher teacher);

    Integer delete(Integer id);

    Teacher select(Integer id);

    Integer cntByMap(Map<String, Object> map);

    List<Integer> getByMap(Map<String, Object> map);

    List<Teacher> getByMapList(Map<String, Object> map);

    Integer updateByCode(Teacher teacher);

    Teacher selectByBfCode(String bfCode);

    ResultModel<Object> getCourseTeacherList(String courseStage,String name, Integer pageNum, Integer pageSize);

    ResultModel<Object> getTeacherInfo(Integer teacherId,Integer userId);

    ResultModel<Object> tcGetTeacherCourseList(String beginTime,String endTime,String courseCategory,Integer teacherId, Integer pageNum, Integer pageSize);

    ResultModel<Object> tcGetAllTeacherCourseList(Long teacherId, String beginTime, String endTime, String courseCategory, String studentBirthDay, Integer pageNum, Integer pageSize);

    ResultModel<Object> tcGetStudentCourseList(String appointmentType, Integer classId, Integer pageNum, Integer pageSize);

    ResultModel<Object> getAllTeacherList(String teacherName, Integer pageNum, Integer pageSize);

    ResultModel<Object> getCourseCategoryTeacherList(Integer courseCategoryId, Integer pageNum, Integer pageSize);
}
